package org.springframework.context.support;

import org.springframework.beans.BeansException;

/**
 * 实现在类路径下读取xml文件并加载 创建工厂、创建所有扩展的bean等一系列封装操作
 */
public class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext{
    private String[] configLocations;

    /**
     * 调用另一个重载的构造方法 实现加载bean定义对象 并且自动刷新上下文
     * @param configLocation
     */
    public ClassPathXmlApplicationContext(String configLocation){
        this(new String[]{configLocation});
    }


    /**
     * 从xml文件加载BeanDefinition，并且自动刷新上下文
     *
     * @param configLocations xml配置文件
     * @throws BeansException 应用上下文创建失败
     */
    public ClassPathXmlApplicationContext(String[] configLocations) {
        this.configLocations = configLocations;
        refresh();
    }



    @Override
    protected String[] getConfigLocations() {
        return this.configLocations;
    }
}
